Refinement reflection: complete verification with SMT
نویسندگان
چکیده
منابع مشابه
Towards Complete Specification and Verification with SMT
We introduce Refinement Reflection, a new framework for building SMT-based deductive verifiers. The key idea is to reflect the code implementing a user-defined function into the function’s (output) refinement type. As a consequence, at uses of the function, the function definition is instantiated in a precise fashion that permits decidable verification. We show how reflection allows the user to...
متن کاملLeveraging SMT: Using SMT Solvers to Improve Verification; Using Verification to Improve SMT Solvers
Solvers for the Satisfiability Modulo Theories (SMT) problem are making rapid progress. However, many verification tools aren’t making use of the full power of modern SMT solvers. We believe that the verification community could be benefiting more from the work of the SMT community; at the same time, the SMT community could benefit from a more active and engaged verification user community.
متن کاملRefinement Reflection (or, how to turn your favorite language into a proof assistant using SMT)
Refinement Reflection turns your favorite programming language into a proof assistant by reflecting the code implementing a userdefined function into the function’s (output) refinement type. As a consequence, at uses of the function, the function definition is unfolded into the refinement logic in a precise, predictable and most importantly, programmer controllable way. In the logic, we encode ...
متن کاملSMT-Based System Verification with DVF
We introduce the Deductive Verification Framework (DVF ), a language and a tool for verifying properties of transition systems. The language is procedural and the system transitions are a selected subset of procedures. The type system and built-in operations are consistent with SMT-LIB, as are the multisorted first-order logical formulas that may occur in DVF programs as preand post-conditions,...
متن کاملProving SPARK Verification Conditions with SMT solvers
We have constructed a tool for using SMT (SAT Modulo Theories) solvers to discharge verification conditions (VCs) from programs written in the SPARK language. The tool can drive any solver supporting the SMT-LIB standard input language and has API interfaces for some solvers. SPARK is a subset of Ada used primarily in high-integrity systems in the aerospace, defence, rail and security industrie...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the ACM on Programming Languages
سال: 2018
ISSN: 2475-1421
DOI: 10.1145/3158141